package modele;

import java.io.Writer;

import java.util.SortedSet;

import java.rmi.Remote;

public interface UniteEnseignement extends Remote{

    public void setIntitule(String nom) throws Exception;
    public void setSigle(String nom) throws Exception;
    public void setApogee(String nom) throws Exception;
    public void setQuota(int nb) throws Exception;
    public Integer getIdent() throws Exception;
    public String getIntitule() throws Exception;
    public String getSigle() throws Exception;
    public String getApogee() throws Exception;
    public Integer getQuota() throws Exception;
    public Object[] getObjet() throws Exception;
    public String[] getInfo() throws Exception;
    public SortedSet<Parcours> getParcoursObligatoire() throws Exception;
    public SortedSet<Parcours> getParcoursChoix1() throws Exception;
    public SortedSet<Parcours> getParcoursChoix2() throws Exception;
    public SortedSet<Dossier> getDemandes() throws Exception;
    public SortedSet<Dossier> getPropositions() throws Exception;
//    public SortedSet<UniteEnseignement> getIncompatibles() throws Exception;
    public boolean addObligatoire(Parcours p) throws Exception;
    public boolean addChoix1(Parcours p) throws Exception;
    public boolean addChoix2(Parcours p) throws Exception;
    public boolean addDemande(Dossier d) throws Exception;
    public boolean addProposition(Dossier d) throws Exception;
//    public boolean addIncompatible(UniteEnseignement ue) throws Exception;
    public boolean removeObligatoire(Parcours p) throws Exception;
    public boolean removeChoix1(Parcours p) throws Exception;
    public boolean removeChoix2(Parcours p) throws Exception;
    public boolean removeDemande(Dossier d) throws Exception;
    public boolean removeProposition(Dossier d) throws Exception;
//    public boolean removeIncompatible(UniteEnseignement ue) throws Exception;
    public void clearPropositions() throws Exception;
    public void clearDemandes() throws Exception;
//    public void clearIncompatibles() throws Exception;
//    public boolean isCompatible(Set<UniteEnseignement> ues) throws Exception;
    public void imprimer(Writer file) throws Exception;
    public void imprimerAvecContraintes(Writer file) throws Exception;
    
	static String[] entete = {"Intitule", "Sigle", "Apogee", "Quota", "Obligatoire", "Choix 1", "Choix 2", "Nb demandes", "Nb retenus"};

}
